package com.itbupt.domain.award.repository;

import com.itbupt.domain.award.model.aggregate.GiveOutPrizesAggregate;
import com.itbupt.domain.award.model.aggregate.UserAwardRecordAggregate;

/**
 * @Author dingchang
 * @Date 2025/4/6 14:53
 * @Description: 奖品仓储服务
 */
public interface IAwardRepository {

    /**
     * 保存用户中奖记录
     * @param userAwardRecordAggregate 用户中奖记录聚合对象
     */
    void saveUserAwardRecord(UserAwardRecordAggregate userAwardRecordAggregate);

    /**
     * 查询奖品配置信息 - award_config
     * @param awardId 奖品ID
     * @return award_config
     */
    String queryAwardConfig(Integer awardId);

    /**
     * 保存分发奖品记录
     * @param giveOutPrizesAggregate
     */
    void saveGiveOutPrizesAggregate(GiveOutPrizesAggregate giveOutPrizesAggregate);

    /**
     * 查询奖品KEY
     * @param awardId
     * @return
     */
    String queryAwardKey(Integer awardId);

}
